import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
// 导入 Node.js 的 path 模块，用于配置 @ 别名
import path from 'path'
import AutoImport from 'unplugin-auto-import/vite'
import Icons from 'unplugin-icons/vite'
import Components from 'unplugin-vue-components/vite'
import {ElementPlusResolver} from "unplugin-vue-components/resolvers";


export default defineConfig({
    plugins: [
        vue(),
        AutoImport({
            // 自动导入 Vue 函数
            imports: ['vue'],
            // 自动导入 Vue 函数的默认导出
            dts: 'src/types/auto-import.d.ts',
            resolvers: [
                // 自动导入 Element Plus 组件
                ElementPlusResolver(),
            ]
        }),
        Components({
            // 自动导入组件
            dirs: ["src/components","src/**/components"],
            // 自动导入组件的默认导出
            dts: 'src/types/components.d.ts',
            resolvers: [
                // 自动导入 Element Plus 组件
                ElementPlusResolver(),
            ]
        }),
        Icons({
            // 自动导入图标库
            autoInstall: true,
        })
    ],
    base: "./",
    // 解析配置
    resolve: {
        // 路径别名，主要是这部分
        alias: {
            '@': path.resolve(__dirname, './src') // 将 @ 配置为指向 src 目录
        }
    }
})
